const path = require('path')
const fs = require('fs')

// 导入数据库模块
const db = require('../db/index')

// 上传图片处理函数
exports.uploadImg = (req, res) => {
  //读取文件路径
  fs.readFile(req.file.path, (err, data) => {
    //如果读取失败
    if (err) {
      return res.send('上传失败')
    }
    //如果读取成功
    //声明图片名字为时间戳和随机数拼接成的，尽量确保唯一性
    let time = Date.now() + parseInt(Math.random() * 999) + parseInt(Math.random() * 2222)
    //拓展名
    let extname = req.file.mimetype.split('/')[1]
    //拼接成图片名
    let keepname = time + '.' + extname
    //三个参数
    //1.图片的绝对路径
    //2.写入的内容
    //3.回调函数
    // const Imgpaths = path.join(__dirname, '../public/uploads/' + keepname)
    fs.writeFile(path.join(__dirname, '../public/uploads/' + keepname), data, err => {
      if (err) {
        return res.send('写入失败')
      }
      const sql = `update pet set url= ? where No = ?`

      const strImg = `http://127.0.0.1:9999/${keepname}`
      console.log(req.body.No)
      console.log(strImg)
      db.query(sql, [strImg, req.body.No], function (err, results) {
        // 执行 SQL 语句失败
        if (err) {
          return res.send({ status: 1, message: err.message })
        }

        if (results.affectedRows !== 1) {
          return res.send({ status: 1, message: '上传图片失败' })
        }
        return res.send({ status: 0, message: '上传图片成功' })
      })
    })
  })
}
